home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / fractfly.zip / FRACTFLY.PAS < prev   
Pascal/Delphi Source File  |  1990-09-01  |  2KB  |  85 lines

  1. {Program Fractal Fly-through by Josh Lannin.  Version 1.0. 12/14/90.
  2. Feeling Anti-Kleptomanic?  You can send me donations at
  3.  
  4.                   634 W. Fairmount, State College, PA 16801.
  5.  
  6. My phone number is (814) 237-1843.
  7.  
  8. This software is FREEWARE, no strings attached.  Eliminate shareware
  9. "Register to get all the features" software!
  10.  
  11. Hail Discordia!    I see the fnords!}
  12.  
  13.  
  14. PROGRAM Fractint_Flythrough (Input, Output);
  15. USES Crt, Printer;
  16. VAR x1, x2, y1, y2, x1a, x2a, y1a, y2a, decx1, decx2, decy1, decy2, step : REAL;
  17. x1temp, x2temp, y1temp, y2temp : REAL;
  18. i : REAL;
  19. outdata : TEXT;
  20.  
  21. PROCEDURE Input_Coordinates;
  22.  
  23. BEGIN;
  24.       ASSIGN (outdata, 'frabatch.bat');
  25.       REWRITE (outdata);
  26.       CLRSCR;
  27.       WRITELN ('Enter the starting coordinates');
  28.       WRITE ('X1= ');
  29.       READLN (x1);
  30.       WRITE ('X2= ');
  31.       READLN (x2);
  32.       WRITE ('Y1= ');
  33.       READLN (y1);
  34.       WRITE ('Y2= ');
  35.       READLN (y2);
  36.       CLRSCR;
  37.       WRITELN ('Enter the target coordinates');
  38.       WRITE ('X1= ');
  39.       READLN (x1a);
  40.       WRITE ('X2= ');
  41.       READLN (x2a);
  42.       WRITE ('Y1= ');
  43.       READLN (y1a);
  44.       WRITE ('Y2= ');
  45.       READLN (y2a);
  46.       CLRSCR;
  47.       WRITE ('Enter the number of steps ');
  48.       READLN (step);
  49. END;
  50.  
  51.  
  52. PROCEDURE writeout;
  53.           BEGIN
  54.                i := step;
  55.                decx1 := ( (x1 - x1a) / step);
  56.                decx2 := ( (x2 - x2a) / step);
  57.                decy1 := ( (y1 - y2a) / step);
  58.                decy2 := ( (y2 - y2a) / step);
  59.                REPEAT
  60.                WRITE (outdata, 'Fractint batch=yes type=mandel corners=');
  61.                x1 := x1 - decx1;
  62.                x2 := x2 - decx2;
  63.                y1 := y1 - decy1;
  64.                y2 := y2 - decy2;
  65.                WRITE (outdata, x1 : 10 : 10);
  66.                WRITE (outdata, '/');
  67.                WRITE (outdata, x2 : 10 : 10);
  68.                WRITE (outdata, '/');
  69.                WRITE (outdata, y1 : 10 : 10);
  70.                WRITE (outdata, '/');
  71.                WRITE (outdata, y2 : 10 : 10);
  72.                WRITELN (outdata);
  73.                i := i - 1;
  74.                UNTIL (i <= 1);
  75.                CLOSE (outdata);
  76. END;
  77. BEGIN
  78. Input_Coordinates;
  79. Writeout;
  80. END.
  81.  
  82.  
  83.  
  84.  
  85.